
import { request} from "../../request/index"
import regeneratorRuntime from "../../lib/runtime/runtime.js";
// pages/goos_detail/index.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
      goodsObj:{},
      // 商品是否被收藏过
      isCollect:false
    },
    // 商品对象
    GoodsInfo:{},
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function () {
      let pages=getCurrentPages();
      let currentPage=pages[pages.length-1];
      let options=currentPage.options;
      const {goods_id}=options;
      this.getGoodsDetail(goods_id);
    },
//   获取商品详情数据
  async getGoodsDetail(goods_id){
   const goodsObj=await request({url:"/goods/detail",data:{goods_id}})
   this.GoodsInfo=goodsObj;
      // 1 获取缓存中的商品收藏数组
      let collect=wx.getStorageSync('collect')||[]
      // 2 判断当前商品是否被收藏
      let isCollect=collect.some(v=>v.goods_id===this.GoodsInfo.goods_id);
    this.setData({
        goodsObj:{
          goods_price:goodsObj.goods_price,
          goods_name:goodsObj.goods_name,
        // iphone部分手机 不识别webp图片格式
        //前端修改 
          pics:goodsObj.pics,
          goods_introduce:goodsObj.goods_introduce.replace(/\.webp/g,'.jpg')
        }
    })
  },
  // 点击轮播图放大预览
  handlePrevewImage(e){
    console.log("预览")
  // 先构造要预览的图片数组
  const urls=this.GoodsInfo.pics.map(v=>v.pics_mid);
  // 2 接收传递过来的图片url
  const current=e.currentTarget.dataset.url;
     wx.previewImage({
       current,
       urls,
     })
  },

  // 点击购物车添加商品
  handleCartAdd(){
    // 1获取缓存中的购物车 数组
    let cart=wx.getStorageSync("cart")||[];
    // 2.判断 商品对象是否存在于购物车数组中
    let index=cart.findIndex(v=>v.goods_id===this.GoodsInfo.goods_id);
    if(index===-1){
      
      //3不存在 第一次添加
      this.GoodsInfo.num=1;
      this.GoodsInfo.checked=true;
      cart.push(this.GoodsInfo)
    }else{
      // 4已经存在购物车数据 执行mun++
      cart[index].num++;
    }
    // 5把购物车重新添加回缓存中
    wx.setStorageSync("cart",cart)
    // 6弹框提示
    wx.showToast({
      title: '加入成功',
      icon:"success",
    // true 防止用户 手抖 一直点击按钮
      mask:true,  
    })
  },
  // 点击 商品收藏图标
  handleCollect(){
    let isCollect=false;
    // 1获取缓存中的商品收藏数组
    let collect=wx.getStorageSync("collect")||[];
    // 2 判断该商品是否被收藏过
   let index=collect.findIndex(v=>v.goods_id===this.GoodsInfo.goods_id);
  //  3 当index!=-1 表示 已经收藏过
  if(index!==-1){
    // 能找到 已经收藏过了 在 数组中删除该商品
    collect.splice(index,1);
    isCollect=false;
    wx.showToast({
      title: '取消成功',
      icon:'success',
      mask:true
    })
  }else{
    // 没有收藏过
    collect.push(this.GoodsInfo);
    isCollect=true;
    wx.showToast({
      title: '收藏成功',
      icon:'success',
      mask:true
    })
  }
  // 4 把数组存入到缓存中
 wx.setStorageSync("collect",collect);
//  5 修改data中的属性 isCollect
 this.setData({
  isCollect
 })
 }
})